import * as signalR from '@microsoft/signalr';
import { KongaUrl } from '@/axios/axiosHelp'

// 获取网关的 baseURL
const gatewayBaseUrl = KongaUrl.defaults.baseURL;
const chatHubUrl = `${gatewayBaseUrl}/chatHub`;

const connection = new signalR.HubConnectionBuilder()
    // 这里使用构建好的 chatHubUrl 变量
    .withUrl(chatHubUrl)
    .build();

// 开始连接
const startConnection = async () => {
    try {
        await connection.start();
        console.log('SignalR连接成功');
    } catch (err) {
        console.error('SignalR连接失败:', err);
        setTimeout(startConnection, 5000); // 失败后重试
    }
};

// 处理连接关闭
connection.onclose(async () => {
    console.log('SignalR连接已关闭，尝试重新连接...');
    await startConnection();
});

// 启动连接
startConnection();

export { connection };